Digital electronic devices, such as digital computers, calculators, and other devices, perform arithmetic calculations on values in integer, or "fixed point," format, in fractional, or "floating point" format, or both. IEEE Standard 754, (hereinafter "IEEE Std. 754" or "the Standard")) published in 1985 by the Institute of Electrical and Electronic Engineers, and adopted by the American National Standards Institute (ANSI), defines several standard formats for expressing values in floating point format, and a number of aspects regarding behavior of computation in connection therewith. In accordance with IEEE Std. 754, a value (-1).sup.s 2.sup.e f in a representation in floating point format comprises a plurality of binary digits, or "bits," having the structure EQU s e.sub.msb . . . e.sub.lsb f.sub.msb . . . f.sub.lsb
where bit "s" is a sign bit indicating whether the entire value is positive or negative, bits "e.sub.msb . . . e.sub.lsb " comprise an exponent field represent the exponent "e" in unsigned binary biased format, and bits "f.sub.msb . . . f.sub.lsb " comprise a fraction field that represents the fractional portion "f" in unsigned binary format ("msb" represents "most significant bit" and "lsb" represents "least significant bit"). The Standard defines two general formats, namely, a "single" format which comprises thirty-two bits, and a "double" format which comprises sixty-four bits. In the single format, there is one sign bit "s," eight bits "e.sub.7 . . . e.sub.0 " comprising the exponent field and twenty-three bits "f.sub.22 . . . f.sub.0 " comprising the fraction field. In the double format, there is one sign bit "s," eleven bits "e.sub.10 . . . e.sub.0 " comprising the exponent field and fifty-two bits "f.sub.51 . . . f.sub.0 " comprising the fraction field.
As indicated above, the exponent field of the floating point representation "e.sub.msb . . . e.sub.lsb " represents the exponent "E" in biased format. The biased format provides a mechanism by which the sign of the exponent is implicitly indicated. In particular, the bits "e.sup.msb . . . e.sub.lsb " represent a binary encoded value "e" such that "e=E+bias." This allows the exponent E to extend from -126 to +127, in the eight-bit "single" format, and from -1022 to +1023 in the eleven-bit "double" format, and provides for relatively easy manipulation of the exponents in multiplication and division operations, in which the exponents are added and subtracted, respectively.
IEEE Std.754 provides for several different formats with both the single and double formats which are generally based on the bit patterns of the bits "e.sub.msb . . . e.sub.lsb " comprising the exponent field and the bits f.sub.msb . . . f.sub.lsb comprising the fraction field. If a number is represented all of the bits "e.sub.msb . . . e.sub.lsb " of the exponent field are binary one's (that is, if the bits represent a binary-encoded value of "255" in the single format or "2047" in the double format) and all of the bits f.sub.msb . . . f.sub.lsb of the fraction field are binary zeros, then the value of the number is positive or negative infinity, depending on the value of the sign bit "s;" in particular, the value "v" is v=(-1).sup.s.infin., where ".infin." represents the value "infinity." On the other hand, If all of the bits "e.sub.msb . . . e.sub.lsb " of the exponent field are binary one's and if the bits f.sub.msb . . . f.sub.lsb of the fraction field are not all zero's, then the value that is represented is deemed "not a number," abbreviated in the Standard by "NaN."
If a number has an exponent field in which the bits "e.sub.msb . . . e.sub.lsb " are neither all binary ones nor all binary zeros (that is, if the bits represent a binary-encoded value between 1 and 254 in the single format or between 1 and 2046 in the double format), the number is said to be in a "normalized" format. For a number in the normalized format, the value represented by the number is v=(-1).sup.s 2.sup.e-bias (1..vertline..function..sub.msb . . . .function..sub.lsb) where ".vertline." represents a concatenation operation. Effectively, in the normalized format, there is an implicit most significant digit having the value "one," so that the twenty-three digits in the fraction field of the single format, or the fifty-two digits in the fraction field of the double format, will effectively represent a fraction having twenty-four digits or fifty-three digits of precision, respectively.
Finally, if a number has an exponent field in which the bits "e.sub.msb . . . e.sub.lsb " are all binary zeros, representing the binary-encoded value of "zero," the number is said to be in a "de-normalized" format. For a number in the de-normalized format, the value represented by the number is v=(-1).sup.s 2.sup.e-bias (0..vertline..function..sub.msb . . ..function..sub.lsb). It will be appreciated that the range of values of numbers that can be expressed in the de-normalized format is disjoint from the range of values of numbers that can be expressed in the normalized format, for both the single and double formats.
A problem arises in connection with numbers in the de-normalized format. In particular, numbers in the de-normalized format are difficult to process and to produce.